diff --git a/arch/arm/include/asm/arch-meson/eth.h b/arch/arm/include/asm/arch-meson/eth.h
index 08acc5c..f765cd7 100644
--- a/arch/arm/include/asm/arch-meson/eth.h
+++ b/arch/arm/include/asm/arch-meson/eth.h
@@ -19,4 +19,7 @@
  */
 void meson_eth_init(phy_interface_t mode, unsigned int flags);
 
+/* Generate an unique MAC address based on the HW serial */
+int meson_generate_serial_ethaddr(void);
+
 #endif /* __MESON_ETH_H__ */
diff --git a/arch/arm/include/asm/arch-meson/sm.h b/arch/arm/include/asm/arch-meson/sm.h
index a5bac5a..60d04ae 100644
--- a/arch/arm/include/asm/arch-meson/sm.h
+++ b/arch/arm/include/asm/arch-meson/sm.h
@@ -7,6 +7,9 @@
 #define __MESON_SM_H__
 
 ssize_t meson_sm_read_efuse(uintptr_t offset, void *buffer, size_t size);
+
+#define SM_SERIAL_SIZE	12
+
 int meson_sm_get_serial(void *buffer, size_t size);
 
 #endif /* __MESON_SM_H__ */
diff --git a/arch/arm/mach-meson/board-common.c b/arch/arm/mach-meson/board-common.c
index 8c41301..18383f7 100644
--- a/arch/arm/mach-meson/board-common.c
+++ b/arch/arm/mach-meson/board-common.c
@@ -7,6 +7,7 @@
 #include <asm/arch/boot.h>
 #include <linux/libfdt.h>
 #include <linux/err.h>
+#include <environment.h>
 #include <asm/arch/mem.h>
 #include <asm/arch/sm.h>
 #include <asm/armv8/mmu.h>
@@ -67,6 +68,36 @@
 	}
 }
 
+int meson_generate_serial_ethaddr(void)
+{
+	u8 mac_addr[ARP_HLEN];
+	char serial[SM_SERIAL_SIZE];
+	u32 sid;
+	u16 sid16;
+
+	if (!meson_sm_get_serial(serial, SM_SERIAL_SIZE)) {
+		sid = crc32(0, (unsigned char *)serial, SM_SERIAL_SIZE);
+		sid16 = crc16_ccitt(0, (unsigned char *)serial,	SM_SERIAL_SIZE);
+
+		/* Ensure the NIC specific bytes of the mac are not all 0 */
+		if ((sid & 0xffffff) == 0)
+			sid |= 0x800000;
+
+		/* Non OUI / registered MAC address */
+		mac_addr[0] = ((sid16 >> 8) & 0xfc) | 0x02;
+		mac_addr[1] = (sid16 >>  0) & 0xff;
+		mac_addr[2] = (sid >> 24) & 0xff;
+		mac_addr[3] = (sid >> 16) & 0xff;
+		mac_addr[4] = (sid >>  8) & 0xff;
+		mac_addr[5] = (sid >>  0) & 0xff;
+
+		eth_env_set_enetaddr("ethaddr", mac_addr);
+	} else
+		return -EINVAL;
+
+	return 0;
+}
+
 static void meson_set_boot_source(void)
 {
 	const char *source;
